package com.mammoth.Bodybuilding.util;

import java.util.List;

import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;

import com.mammoth.Bodybuilding.entity.ResultObj;
import com.mammoth.Bodybuilding.entity.SysRole;
import com.mammoth.Bodybuilding.entity.SysUserObj;

import net.sf.json.JSONObject;

/**
 * 
 * @title : CurrencySaas
 * @description : 通用方法工具类
 * @company : com.mammoth.Bodybuilding.util
 * @project Mammoth
 * @author xingzhaojun
 * @date 2018年4月14日 上午9:08:25
 */
public class CurrencySaas {
	/**
	 * 捕获前台传输对象字段异常
	 * 
	 * @param result
	 * @return
	 */
	public static ResultObj checkFieldError(BindingResult result) {
		ResultObj resultObj = new ResultObj();
		if (result.hasErrors()) {
			List<ObjectError> allErrors = result.getAllErrors();
			ObjectError objectError = allErrors.get(allErrors.size() - 1);
			resultObj.setCode(-1);
			resultObj.setMessage(objectError.getDefaultMessage());
			resultObj.setFlag(false);
		} else {
			resultObj.setCode(1);
			resultObj.setFlag(true);
		}
		return resultObj;
	}

	/**
	 * 判断用户是否有权限
	 * 
	 * @param user
	 *            用户
	 * @param roleType
	 *            应该有权限的列表
	 * @return
	 */
	public static JSONObject checkUserRole(SysUserObj user, List<RoleType> roleType) {
		JSONObject json = new JSONObject();
		SysRole sysRoles = user.getSysRoles();
		RoleType role = RoleType.valueOf(sysRoles.getName());
		if (roleType.contains(role)) {
			json.put("flag", true);
			json.put("msg", "权限通过认证");
		} else {
			json.put("flag", false);
			json.put("msg", "权限认证失败");
		}
		return json;
	};

}
